home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
dora
/
doradset.plp
< prev
next >
Wrap
Text File
|
1993-11-30
|
13KB
|
575 lines
/* オートダウンロード制御ファイル作成処理 */
%SETDOWN1{
loop ({
footnote({ダウンロード元を指定して下さい});
SNDMSG({erande_f.snd});
select ({ダウンロード元を指定して下さい},
Wtime4, {im({No})},
{データライブラリ}, {AUTOdlib;im({Yes})},
{プロフィール情報}, {AUTOprof;im({Yes})},
{ 終 了 }, {im({No})}
)
});
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{_mopdlib.wrk}),
{Yes},{mread(TEMP2|{_mopdlib.wrk},memono)}
);
};
%RESERV {
case (reserv,
{ 1},{im({})},
{ 2},{im({保留;})},
,{im({})}
);
};
/* データライブラリからのダウンロード制御文作成 */
%AUTOdlib
{
footnote({データライブラリからのダウンロード制御文作成});
var forum [8];
var libno [3];
var dataname[12];
var datafile[64];
var docfile [64];
var ok[2];
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cデータライブラリからのダウンロード\n}|
{t ネット名 /xxxxxxxx\n}|
{cSIGボードの場合はネット名の代わりに\n}|
{cパスワードを入力して下さい\n}|
{tライブラリ番号/xxx\n}|
{tデータ名称/xxxxxxxxxxxx\n}|
{tデータファイル/\n}|
{s ファイル一覧/ 選択 \n}|
{t 概要ファイル /\n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
@SCANPW(libno),libno,dataname,datafile,docfile,1);
forum:= @head(@getline(a,1,1),{\n});
libno:= @head(@getline(a,2,1),{\n});
dataname:= @head(@getline(a,3,1),{\n});
datafile:= @head(@getline(a,4,1),{\n});
%sel1 @head(@getline(a,5,1),{\n});
docfile:= @head(@getline(a,6,1),{\n});
%reserv @head(@getline(a,7,1),{\n});
ok:= @head(@getline(a,8,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (sel1,
{ 1},
{
footnote({});
case(FSW={},
{Yes},{setcdir(LOG2|{FREESOFT\})},
{No},{setcdir(FSW)});
datafile:=@FILEsel1;
docfile:=@body(datafile,,{.})|{.ggg};
im({Yes});
});
case (ok,
{ 1},
{
case ((datafile={}||@getchar(datafile,2,2)={:\})&&
@getchar(docfile,2,2)={:\},
{No},
{
footnote({ファイル名はドライブからの}|
{フルパスで指定してください});
im({Yes});
},
{Yes},
{
case (@filechk(datafile)||datafile=docfile,
{Yes},
{
footnote({データファイル名が}|
{重複しています});
im({Yes});
},
{No},
{
case (forum<>{} && libno<>{} &&
dataname<>{} && datafile<>{},
{Yes},
{
%res1 @RESERV|
{forum=}|forum|{;}|
{libno=}|libno|{;}|
{dataname=}|dataname|{;}|
{docfile=}|docfile|{;}|
{datafile=}|datafile|{;\n};
write(TEMP2|{_mopdlib.wrk},res1);
im({No});
},
{No},{im({Yes})})
});
});
},
{ 2},{im({No})}
);
});
};
/* ダウンロードファイル指定処理 */
%FILEsel1{
var dnfile [64];
SNDMSG({erande_f.snd});
dnfile:=@filesel;
case(dnfile<>{},{Yes},{dnfile:=@dir2(@getcdir)|dnfile});
im(dnfile);
};
/* プロフィール情報のダウンロード制御文作成 */
%AUTOprof{
footnote({プロフィール情報ダウンロード制御文作成});
var id [90];
id:={};
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cプロフィール情報ダウンロード\n}|
{t ID番号 /\n}|
{c カンマ「,」で区切って複数指定可能 \n}|
{s / 検索 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
id,1);
id:= @head(@getline(a,1,1),{\n});
%search @head(@getline(a,2,1),{\n});
%reserv @head(@getline(a,3,1),{\n});
%ok @head(@getline(a,4,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (search,
{ 1},
{
%id1 @IDsearch;
case (id1<>{},
{Yes},
{
case (id<>{},
{Yes},{id:=id|{,}|id1},
{No},{id:=id1}
);
});
im({Yes})}
);
case (ok,
{ 1},
{
%cntl @RESERV|{profile=}|id|{;};
write(TEMP2|{_mopdlib.wrk},cntl|{\n});
im({No});
},
{ 2},{im({No})}
);
});
};
/* オートダウンロード制御ファイル更新処理 */
%UPDATE1{
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},{LineNo:=MaxLine},
{No},{case(LineNo<1,{Yes},{LineNo:=1})}
);
%dnld @memo(memono,LineNo,1);
case (@head(dnld,{=}),
{forum}, {UPDATE(@UPDdlib(dnld))},
{保留;forum}, {UPDATE(@UPDdlib(dnld))},
{profile}, {UPDATE(@UPDprof(dnld))},
{保留;profile}, {UPDATE(@UPDprof(dnld))},
, {CloseAllMemo}
);
};
%UPDATE {
[new]
case (new,
dnld, /* 変更無し */
{CloseAllMemo},
{}, /* 削除 */
{
CloseAllMemo;
mclear(memono);
case (LineNo>1,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},1,LineNo-1))}
);
case (LineNo<MaxLine,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},LineNo+1))}
);
mwrite(TEMP2|{_mopdlib.wrk},memono);
},
, /* 変更あり */
{
CloseAllMemo;
mclear(memono);
case (LineNo>1,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},1,LineNo-1))}
);
madd(memono,new);
case (LineNo<MaxLine,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},LineNo+1))}
);
mwrite(TEMP2|{_mopdlib.wrk},memono);
});
};
/* データライブラリからのダウンロード制御文更新 */
%UPDdlib{
[dnld]
footnote({データライブラリからのダウンロード制御文更新});
var forum [8];
var libno [3];
var dataname[64];
var datafile[64];
var docfile [64];
var ok [2];
var reserv [2];
reserv:=@case (@head(dnld,{;}),
{保留},{im({ 2})},
,{im({ 1})}
);
forum:= @tail(dnld,{forum=},{;});
libno:= @tail(dnld,{libno=},{;});
dataname:= @tail(dnld,{dataname=},{;});
datafile:= @tail(dnld,{datafile=},{;});
docfile:= @tail(dnld,{docfile=},{;});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cデータライブラリからのダウンロード\n}|
{t ネット名 /xxxxxxxx\n}|
{tライブラリ番号/xxx\n}|
{tデータ名称/xxxxxxxxxxxx\n}|
{tデータファイル/\n}|
{s ファイル一覧/ 選択 \n}|
{t 概要ファイル /\n}|
{s ファイル一覧/ 選択 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 削除 / 取消 \n},
forum,libno,dataname,datafile,docfile,reserv);
forum:= @head(@getline(a,1,1),{\n});
libno:= @head(@getline(a,2,1),{\n});
dataname:= @head(@getline(a,3,1),{\n});
datafile:= @head(@getline(a,4,1),{\n});
%sel1 @head(@getline(a,5,1),{\n});
docfile:= @head(@getline(a,6,1),{\n});
%sel2 @head(@getline(a,7,1),{\n});
reserv:= @head(@getline(a,8,1),{\n});
ok:= @head(@getline(a,9,1),{\n});
case (sel1,{ 1},
{
footnote({});
datafile:=@FILEsel1;
docfile:=@body(datafile,,{.})|{.ggg};
im({Yes});
});
case (sel2,{ 1},
{
footnote({});
docfile:=@FILEsel1;
im({Yes});
});
case (ok,
{ 1},
{
case ((datafile={}||@getchar(datafile,2,2)={:\}) &&
@getchar(docfile,2,2)={:\},
{No},
{
footnote({ファイル名はドライブからの}|
{フルパスで指定してください});
im({Yes});
},
{Yes},
{
case (@filechk(datafile)||datafile=docfile,
{Yes},
{
footnote({データファイル名が}|
{重複しています});
im({Yes});
},
{No},
{
im(@RESERV|{forum=}|forum|{;}|
{libno=}|libno|{;}|
{dataname=}|dataname|{;}|
{docfile=}|docfile|{;}|
{datafile=}|datafile|{;\n});
});
});
},
{ 2},{im({})},
{ 3},{im(dnld)},
,{case(sel1={ 0}&&sel2={ 0},{Yes},{im(dnld)})}
);
});
};
/* プロフィール情報のダウンロード制御文更新 */
%UPDprof{
[dnld]
footnote({プロフィール情報ダウンロード制御文作成});
var id [90];
var ok [2];
var reserv [2];
reserv:=@case (@head(dnld,{;}),
{保留},{im({ 2})},
,{im({ 1})}
);
id:= @tail(dnld,{profile=},{;});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cプロフィール情報ダウンロード\n}|
{t ID番号 /\n}|
{c カンマ「,」で区切って複数指定可能 \n}|
{s / 検索 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 削除 / 取消 \n},
id,reserv);
id:= @head(@getline(a,1,1),{\n});
%search @head(@getline(a,2,1),{\n});
reserv:=@head(@getline(a,3,1),{\n});
ok:= @head(@getline(a,4,1),{\n});
case (search,
{ 1},
{
%id1 @IDsearch;
case (id1<>{},
{Yes},
{
case (id<>{},
{Yes},{id:=id|{,}|id1},
{No},{id:=id1}
);
});
im({Yes})}
);
case (ok,
{ 1},{im(@RESERV|{profile=}|id|{;\n})},
{ 2},{im({})},
{ 3},{im(dnld)},
,{case(search={ 0},{Yes},{im(dnld)})}
);
});
};
/* ファイルコピー */
%FILECOPY{
footnote({読み込むファイルを選択してください});
setcdir(UP); %file @filesel;
case (file={},
{Yes},{CloseAllMemo},
{No},
{
CloseAllMemo;
madd(memono+1,{\n});
mclear(memono+1);
case(@filechk(file),{Yes},{mread(file,memono+1)});
mopen(memono,0,21,639,240,{r});
mclose(1);
mopen(memono+1,0,241,639,459,{r});
select({このファイル内容を追加してもいいですか?},
Wtime4,{CloseAllMemo},
{ O K },
{
CloseAllMemo;
dispoff(!DEBUG);
command({copy }|TEMP2|{_mopdlib.wrk + }|file|
{ }|TEMP2|{_mopdlib.wrk});
dispoff({No});
mclear(memono);
mread(TEMP2|{_mopdlib.wrk},memono);
},
{ N G },{CloseAllMemo}
);
});
};
/* 手動編集 */
%HANDEDIT{
CloseAllMemo;
mopen(memono,0,21,639,459,{w});
loop ({
footnote({終了 取消},{b});
waitx();
case (@xtype,
101,
{
CloseAllMemo;
mwrite(TEMP2|{_mopdlib.wrk},memono);
im({No});
},
201,
{
CloseAllMemo;
mwrite(TEMP2|{_mopdlib.wrk},memono);
im({No});
},
105,
{
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{_mopdlib.wrk}),
{Yes},{mread(TEMP2|{_mopdlib.wrk},memono)}
);
im({No});
},
205,
{
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{_mopdlib.wrk}),
{Yes},{mread(TEMP2|{_mopdlib.wrk},memono)}
);
im({No});
},
,{im({Yes})}
);
});
};
/* ダウンロード予約を保留する */
%WAIT1 {
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},
{LineNo:=MaxLine},
{No},
{case(LineNo<1,{Yes},{LineNo:=1})}
);
%line1 @memo(memono,LineNo,1);
case (@getchar(line1,1,5)={保留;}||line1={},
{Yes}, /* 変更無し */
{CloseAllMemo},
{No}, /* 変更あり */
{
CloseAllMemo;
mclear(memono);
case(LineNo>1,{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},1,LineNo-1))});
madd(memono,{保留;}|line1);
case(LineNo<MaxLine,{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},LineNo+1))});
mwrite(TEMP2|{_mopdlib.wrk},memono);
});
};
/* ダウンロード保留を解除(予約)する */
%RESERVE1{
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},
{LineNo:=MaxLine},
{No},
{case(LineNo<1,{Yes},{LineNo:=1})}
);
%line1 @memo(memono,LineNo,1);
case (@getchar(line1,1,5),
{保留;}, /* 変更あり */
{
CloseAllMemo;
mclear(memono);
case (LineNo>1,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},1,LineNo-1))}
);
madd(memono,@getchar(line1,6));
case (LineNo<MaxLine,
{Yes},
{madd(memono,@read(TEMP2|{_mopdlib.wrk},LineNo+1))}
);
mwrite(TEMP2|{_mopdlib.wrk},memono);
},
,{CloseAllMemo} /* 変更なし */
);
};
/* オートダウンロード制御ファイル作成メインループ */
%SETDOWN{
[memono]
CloseAllMemo;
delfile(TEMP2|{_mopdlib.wrk});
copyfile(UP2|{_mopdlib.ctl},TEMP2|{_mopdlib.wrk});
madd(memono,{\n});
mclear(memono);
case (@filechk(TEMP2|{_mopdlib.wrk}),
{Yes},{mread(TEMP2|{_mopdlib.wrk},memono)}
);
loop ({
mopen(memono,0,21,639,459,{r});
footnote({終了 取消 変更保留予約追加 読込編集},
{b});
waitx();
case (@xtype,
101,
{
delfile(UP2|{_mopdlib.ctl});
copyfile(TEMP2|{_mopdlib.wrk},UP2|{_mopdlib.ctl});
im({No});
},
201,
{
delfile(UP2|{_mopdlib.ctl});
copyfile(TEMP2|{_mopdlib.wrk},UP2|{_mopdlib.ctl});
im({No});
},
103,{im({No})}, 203,{im({No})},
106,{UPDATE1;im({Yes})},206,{UPDATE1;im({Yes})},
107,{WAIT1;im({Yes})}, 207,{WAIT1;im({Yes})},
108,{RESERVE1;im({Yes})},
208,{RESERVE1;im({Yes})},
109,{SETDOWN1;im({Yes})},
209,{SETDOWN1;im({Yes})},
111,{FILECOPY;im({Yes})},
211,{FILECOPY;im({Yes})},
112,{HANDEDIT;im({Yes})},
212,{HANDEDIT;im({Yes})},
memono,{UPDATE1;im({Yes})},
,{CloseAllMemo;im({Yes})}
);
});
/* ログ参照に使用したメモの削除処理 */
loop ({
case(@mcheck>=memono,{Yes},{mclose(3)});
im(@mcheck>=memono);
});
CloseAllMemo;
loop ({
case (@mlast>=memono,
{Yes},
{
case(@mcheck!=@mlast,{Yes},{mopen(@mlast)});
mclose(3);
im({Yes});
},
{No},{im({No})});
});
setcdir(CDIR);
};
/* オートダウンロード制御ファイル作成処理 */
footnote({アップダウン制御ファイルのセットアップを行います});
%memono @mlast+1;
case (memono>8,
{No},{SETDOWN(memono)},
{Yes},
{
SNDMSG ({kaknin_f.snd});
select ({メモ8-9の内容が消去されます よろしいですか?},
Wtime4,,
{ は い },{SETDOWN(8)},
{ いいえ },);
});